Telegram Group & Telegram Channel
Storing discount info in purchase item as a JSON field or using a separate model?

During the pass few days I've been debating how to best store the discount information in my purchase items.

We allow the users of our marketplace to modify the "Discount" model, for example if they want to change the amount of discount for the same code over time, etc.

Because of this we want to store the actual values that the discount code had at the time of the purchase.

**Option A:** Using a JSON field. In this case we can just create a dictionary with the most important info and store it inside a single field.

class PurchaseItem(models.Model):
...
discount = models.JSONField(null=True, blank=True)

And the discount dictionary would look like this:

{"id": 5, "code": "HELLO10", "type": "vendor", "amount": "32.00", "value": "28.80", "is_fixed": false}

**Option B:** Second option is to create a separate model to store this information, instead of JSON.

class PurchaseItem(models.Model):
...
discount = models.ForeignKey(DiscountApplied, null=True)


class DiscountApplied(BaseModel):


/r/django
https://redd.it/1cx1cmc



tg-me.com/pythondaily/32767
Create:
Last Update:

Storing discount info in purchase item as a JSON field or using a separate model?

During the pass few days I've been debating how to best store the discount information in my purchase items.

We allow the users of our marketplace to modify the "Discount" model, for example if they want to change the amount of discount for the same code over time, etc.

Because of this we want to store the actual values that the discount code had at the time of the purchase.

**Option A:** Using a JSON field. In this case we can just create a dictionary with the most important info and store it inside a single field.

class PurchaseItem(models.Model):
...
discount = models.JSONField(null=True, blank=True)

And the discount dictionary would look like this:

{"id": 5, "code": "HELLO10", "type": "vendor", "amount": "32.00", "value": "28.80", "is_fixed": false}

**Option B:** Second option is to create a separate model to store this information, instead of JSON.

class PurchaseItem(models.Model):
...
discount = models.ForeignKey(DiscountApplied, null=True)


class DiscountApplied(BaseModel):


/r/django
https://redd.it/1cx1cmc

BY Python Daily




Share with your friend now:
tg-me.com/pythondaily/32767

View MORE
Open in Telegram


Python Daily Telegram | DID YOU KNOW?

Date: |

Pinterest (PINS) Stock Sinks As Market Gains

Pinterest (PINS) closed at $71.75 in the latest trading session, marking a -0.18% move from the prior day. This change lagged the S&P 500's daily gain of 0.1%. Meanwhile, the Dow gained 0.9%, and the Nasdaq, a tech-heavy index, lost 0.59%. Heading into today, shares of the digital pinboard and shopping tool company had lost 17.41% over the past month, lagging the Computer and Technology sector's loss of 5.38% and the S&P 500's gain of 0.71% in that time. Investors will be hoping for strength from PINS as it approaches its next earnings release. The company is expected to report EPS of $0.07, up 170% from the prior-year quarter. Our most recent consensus estimate is calling for quarterly revenue of $467.87 million, up 72.05% from the year-ago period.

Telegram hopes to raise $1bn with a convertible bond private placement

The super secure UAE-based Telegram messenger service, developed by Russian-born software icon Pavel Durov, is looking to raise $1bn through a bond placement to a limited number of investors from Russia, Europe, Asia and the Middle East, the Kommersant daily reported citing unnamed sources on February 18, 2021.The issue reportedly comprises exchange bonds that could be converted into equity in the messaging service that is currently 100% owned by Durov and his brother Nikolai.Kommersant reports that the price of the conversion would be at a 10% discount to a potential IPO should it happen within five years.The minimum bond placement is said to be set at $50mn, but could be lowered to $10mn. Five-year bonds could carry an annual coupon of 7-8%.

Python Daily from us


Telegram Python Daily
FROM USA